﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DAL
{
   public partial  class RolFormulario
   {
        public int add(dbGestionDataContext _db,
                            int  idRol,
                            int idFormulario,
                            int idAcceso)
                {
                    
                    this.idRol=idRol;
                   
                    this.idFormulario=idFormulario;
                    this.idAcceso = idAcceso;
          
                    _db.RolFormularios.InsertOnSubmit(this);
                    _db.SubmitChanges();
    
                    return this.idInternal;

                }
        public bool update(dbGestionDataContext _db,
                             int idAcceso)
                            {
                           this.idAcceso = idAcceso;
                           _db.SubmitChanges();

                           return true;
       }

        public bool delete(dbGestionDataContext _db)
        {
            _db.RolFormularios.DeleteOnSubmit(this);
            _db.SubmitChanges();
                return true;
        }


public int getidAnterior(dbGestionDataContext _db, int idinternal)
{
    int intAnterior = 0;


    var id = from i in _db.Rols
             where i.idInternal < idinternal
             select i;


    if (id.Count() > 0)
    {
        intAnterior = id.Max(p=>p.idInternal);

    }
    else
    {
        throw new Exception("No existe Registros");
    }


    return intAnterior;

}

public int getidSiguiente(dbGestionDataContext _db, int idinternal)
{
    int intSiguiente = 0;

    //revisar la sentencia generada
    var id = from i in _db.Rols
             where i.idInternal > idinternal
             select i;


    if (id.Count() > 0)
    {
        intSiguiente = id.Min(p=>p.idInternal);

    }
    else
    {
        throw new Exception("No existe Registros");
    }

    return intSiguiente;
}

    }
}
